package com.humble.vichatbackend.service;

import com.humble.vichatbackend.common.UserRegisterRequest;
import com.humble.vichatbackend.model.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.humble.vichatbackend.model.vo.UserVO;

import jakarta.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author che
* @description 针对表【user(用户)】的数据库操作Service
* @createDate 2025-07-22 10:04:28
*/
public interface UserService extends IService<User> {
    public Long register(UserRegisterRequest userRegisterRequest);

    public UserVO userLogin(String account, String password, HttpServletRequest request);

    public Integer userLogout(HttpServletRequest request);

    public List<UserVO> searchUsers(String username);

    public List<UserVO> searchUserByTags(List<String> tags);

    public Integer deleteUser(Long id);

    public Integer updateUser(User user,UserVO currentUser,HttpServletRequest request);

    public Boolean isAdmin(HttpServletRequest request);

    public UserVO getCurrentUser(HttpServletRequest request);

    public List<UserVO> getRecommendUser(UserVO currentUser,int size);

}
